package com.xingkeduo.model.vo;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.xingkeduo.model.po.TMarketingUseHistory;
import com.xingkeduo.model.vo.base.BaseActivityResponse;

public class MarketingReceiveHistoryResponseVo extends BaseActivityResponse{
    /** */
    private Long id;

    /** 卡卷id*/
    private Long marketingId;
    /** 券包id*/
    private Long marketingBagId;
    /** 券包领取记录ID（券包领取时赋值）*/
    private Long marketingBagReceiveHistoryId;
    /** 类型 0 券，1 卡，2 券包 ，记录中应没有券包记录*/
    private Integer marketingType;

    /** 券名称*/
    private String marketingName;

    /** 对应用户表id*/
    private Long userId;
    
    /** 对应用户表手机号*/
    private String userMobile;
    
    /**用户信息 id+昵称*/
    private String userInfo;

    /** 活动领取店铺id）*/
    private String storeId;
    
    /**活动领取店铺名称     */
    private String storeName;

    /** 服务类型 
优惠券
GENERAL_COUPON：优惠券， GIFT：兑换券， DISCOUNT：折扣券， CASH：代金券，  GROUPON：团购券 ，FIXED:一口价，FREE:免费券
FREQUENCY：服务次卡*/
    private String serviceType;

    /** 使用门槛*/
    private BigDecimal leastCost;

    /** 卷金额*/
    private BigDecimal couponAmount;

    /** 卡卷--可用开始时间*/
    private Date useStartTime;

    /** 卡卷--可用结束时间*/
    private Date useEndTime;

    /** 用户使用优惠券时间*/
    private Date useTime;

    /** 卡卷--创建时间/用户领取时间*/
    private Date createTime;

    /** 使用状态  0.初始 1.已领取 2.已使用 3.已作废 4 已过期，5已禁用，6退款失效*/
    private Integer status;

    /** 使用的订单号*/
    private String orderNo;

    /** 代金券发放类型： 1.网页领取 2.推送 3.老用户分享4.新用户下单反馈老用户，5扫码领取，6公众号领取，7收到发放 8邀请好友 9超时补偿 10 沉默唤醒 11 优惠包领取 12发型师发券*/
    private Integer sendType;

    /** 领取编号*/
    private String receiveNo;

    /** 结算金额*/
    private BigDecimal settlementPrice;
    
    private MarketingResponseVo tMarketing;
    
    /** 认证状态，0:未认证,1:已认证,2:已冻结,3已作废*/
    private Integer authStatus;
    
    private String redeemCode;

    /** 冻结次数*/
    private Integer freezeCount;
    
    private String marketingInfo;
    
    private String storeNames;
    
    private Integer couponBagType;
    
    private String couponBagName;
    
    /** 初始使用上限*/
    private Integer initUseLimit;

    /** 当前已使用次数*/
    private Integer currentUseLimit;
    
    private String giftRemark;
    
    /** 退款类型 （0 退款退券，1 退款不退券）*/
    private Integer refundType;
    
    /** 优惠承担类型（0 按比例承担，1 按固定金额承担）*/
    private Integer preferentialUndertakeType;

    /** 总部承担金额 （配合优惠承担类型使用 ）单位分：如果是比例需要转换成具体金额*/
    private BigDecimal headquartersPreferentialUndertake;
    
    private List<TMarketingUseHistory> marketingUseHistory;
    
    public Integer getRefundType() {
		return refundType;
	}

	public void setRefundType(Integer refundType) {
		this.refundType = refundType;
	}

	public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getMarketingId() {
        return marketingId;
    }

    public void setMarketingId(Long marketingId) {
        this.marketingId = marketingId;
    }

    public Integer getMarketingType() {
        return marketingType;
    }

    public void setMarketingType(Integer marketingType) {
        this.marketingType = marketingType;
    }

    public String getMarketingName() {
        return marketingName;
    }

    public void setMarketingName(String marketingName) {
        this.marketingName = marketingName == null ? null : marketingName.trim();
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getServiceType() {
        return serviceType;
    }

    public void setServiceType(String serviceType) {
        this.serviceType = serviceType == null ? null : serviceType.trim();
    }

    public BigDecimal getLeastCost() {
        return leastCost;
    }

    public void setLeastCost(BigDecimal leastCost) {
        this.leastCost = leastCost;
    }

    public BigDecimal getCouponAmount() {
        return couponAmount;
    }

    public void setCouponAmount(BigDecimal couponAmount) {
        this.couponAmount = couponAmount;
    }

    public Date getUseStartTime() {
        return useStartTime;
    }

    public void setUseStartTime(Date useStartTime) {
        this.useStartTime = useStartTime;
    }

    public Date getUseEndTime() {
        return useEndTime;
    }

    public void setUseEndTime(Date useEndTime) {
        this.useEndTime = useEndTime;
    }

    public Date getUseTime() {
        return useTime;
    }

    public void setUseTime(Date useTime) {
        this.useTime = useTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo == null ? null : orderNo.trim();
    }

    public Integer getSendType() {
        return sendType;
    }

    public void setSendType(Integer sendType) {
        this.sendType = sendType;
    }

    public BigDecimal getSettlementPrice() {
        return settlementPrice;
    }

    public void setSettlementPrice(BigDecimal settlementPrice) {
        this.settlementPrice = settlementPrice;
    }

	public String getUserMobile() {
		return userMobile;
	}

	public void setUserMobile(String userMobile) {
		this.userMobile = userMobile;
	}

	public String getUserInfo() {
		return userInfo;
	}

	public void setUserInfo(String userInfo) {
		this.userInfo = userInfo;
	}

	public String getStoreId() {
		return storeId;
	}

	public void setStoreId(String storeId) {
		this.storeId = storeId;
	}

	public String getStoreName() {
		return storeName;
	}

	public void setStoreName(String storeName) {
		this.storeName = storeName;
	}

	public String getReceiveNo() {
		return receiveNo;
	}

	public void setReceiveNo(String receiveNo) {
		this.receiveNo = receiveNo;
	}

	public MarketingResponseVo gettMarketing() {
		return tMarketing;
	}

	public void settMarketing(MarketingResponseVo tMarketing) {
		this.tMarketing = tMarketing;
	}

	public Integer getAuthStatus() {
		return authStatus;
	}

	public void setAuthStatus(Integer authStatus) {
		this.authStatus = authStatus;
	}

	public Integer getFreezeCount() {
		return freezeCount;
	}

	public void setFreezeCount(Integer freezeCount) {
		this.freezeCount = freezeCount;
	}

	public String getRedeemCode() {
		return redeemCode;
	}

	public void setRedeemCode(String redeemCode) {
		this.redeemCode = redeemCode;
	}

	public List<TMarketingUseHistory> getMarketingUseHistory() {
		return marketingUseHistory;
	}

	public void setMarketingUseHistory(List<TMarketingUseHistory> marketingUseHistory) {
		this.marketingUseHistory = marketingUseHistory;
	}

	public String getMarketingInfo() {
		return marketingInfo;
	}

	public void setMarketingInfo(String marketingInfo) {
		this.marketingInfo = marketingInfo;
	}

	public String getStoreNames() {
		return storeNames;
	}

	public void setStoreNames(String storeNames) {
		this.storeNames = storeNames;
	}

	public Integer getCouponBagType() {
		return couponBagType;
	}

	public void setCouponBagType(Integer couponBagType) {
		this.couponBagType = couponBagType;
	}

	public String getCouponBagName() {
		return couponBagName;
	}

	public void setCouponBagName(String couponBagName) {
		this.couponBagName = couponBagName;
	}

	public Long getMarketingBagId() {
		return marketingBagId;
	}

	public void setMarketingBagId(Long marketingBagId) {
		this.marketingBagId = marketingBagId;
	}

	public Long getMarketingBagReceiveHistoryId() {
		return marketingBagReceiveHistoryId;
	}

	public void setMarketingBagReceiveHistoryId(Long marketingBagReceiveHistoryId) {
		this.marketingBagReceiveHistoryId = marketingBagReceiveHistoryId;
	}

	public String getGiftRemark() {
		return giftRemark;
	}

	public void setGiftRemark(String giftRemark) {
		this.giftRemark = giftRemark;
	}

	public Integer getInitUseLimit() {
		return initUseLimit;
	}

	public void setInitUseLimit(Integer initUseLimit) {
		this.initUseLimit = initUseLimit;
	}

	public Integer getCurrentUseLimit() {
		return currentUseLimit;
	}

	public void setCurrentUseLimit(Integer currentUseLimit) {
		this.currentUseLimit = currentUseLimit;
	}

	public Integer getPreferentialUndertakeType() {
		return preferentialUndertakeType;
	}

	public void setPreferentialUndertakeType(Integer preferentialUndertakeType) {
		this.preferentialUndertakeType = preferentialUndertakeType;
	}

	public BigDecimal getHeadquartersPreferentialUndertake() {
		return headquartersPreferentialUndertake;
	}

	public void setHeadquartersPreferentialUndertake(BigDecimal headquartersPreferentialUndertake) {
		this.headquartersPreferentialUndertake = headquartersPreferentialUndertake;
	}
}